Promis.e Help

BOM JSON File Format

BOM manager data can be transferred from one project to another using a JSON file. For an import to be successful, data in the JSON file must be structured as defined below.

JSON File Structure

JSON Object Descriptuion
ProjectInfo Contains Project Database properties which identify where data originated.
  • ServerName
  • Database Name
  • ProjectName
  • ProjectLocation
  • ProjectID

Example:

ProjectInfo:{

"ServerName":"WIN-5RP3CHPAVTF",

"DatabaseName":"SubstationOOTB2023",

"ProjectName":"SUBSTATION DEMO",

"ProjectLocation":"C:\\PROGRAMDATA\\BENTLEY\\OPENUTILITIES SUBSTATION 2023\\MY PROJECTS\\SUBSTATIONCE DEMO",

"ProjectID":2

},

Documents Contains below properties from Edit Revision Properties dialog. Can be an array of multiple BOM documents.
  • WorkOrder
  • Document
  • Revision
  • StartSheet
  • ItemStart
  • ItemEnd
  • Address1 through Address7
  • Document (Document database ID where data originated.)

Example:

Documents:[{

"WorkOrder":"738882",

"Document":"HIGH BUS BOM",

"Revision":"0",

"StartSheet":"1",

"ItemStart":"20",

"ItemEnd":"65",

"Address1":"WEST STREET SUBSTATION #12",

"Address2":"685 STOCKTON DR.",

"Address3":"EXTON",

"Address4":"PA",

"Address5":"19341",

"Address6":"",

"Address7":"US",

"DocumentID":13

}],

BomItems Contains DocumentID, Balloon Number and BM Data fields defined in System Options > BOM Manager Settings > Part Settings. Can be an array of multiple Balloon Numbers.

Example:

BomItems:[{

"BalloonNumber":"131",

"user1":"STRUCTURE, BUS SUPPORT, GALVANIZED STEEL, 10 X 10 x 1/4\" THICK, 1 1/4\" THICK BASE PLATE, 23’ 9 1/8” HIGH, 4 - 1 1/8" DIA MOUNTING HOLES",

"user6":"FABRACATION DETAILS: HB-1 STEEL DETAILS & SECTIONS DRAWING #336621",

"user11":"No",

"user12":"9/19/2023",

"user14":"No",

"DocumentID":13

},{

"BalloonNumber":"129",

"user6":"FABRICATED ASSEMBLY, 3x - TYPE V2-CA",

"user11":"No",

"user14":"No",

"DocumentID":13

},{

"BalloonNumber":"132",

"user1":"STRUCTURE, BUS SUPPORT, GALVANIZED STEEL, 10 X 10 x 1/4\" THICK, 1 1/4\" THICK BASE PLATE, 11’ 9 1/2” HIGH, 4 - 1 1/8" DIA MOUNTING HOLES",

"user6":"FABRACATION DETAILS: HB-2 STEEL DETAILS & SECTIONS DRAWING #99856621",

"user11":"Yes",

"user12":"9/19/2023",

"user14":"No",

"DocumentID":13

}],

BomSubmits Contains below SAP Item Submission data. Can be an array of multiple Balloon Numbers.
  • BalloonNumber
  • Quantity
  • Reservation_Number (Value from SAP response)
  • Reservation_ItemNumber (Value from SAP response)
  • DocumentID

Example:

BomSubmits:[{

"BalloonNumber":"0001",

"Quantity":1,

"Reservation_Number":"",

"Reservation_ItemNumber":"",

"DocumentID":18

},{

"BalloonNumber":"0002",

"Quantity":1,

"Reservation_Number":"556566558",

"Reservation_ItemNumber":"842264441",

"DocumentID":18

}],

Devices Contains below properties related to devices. Can be an array of multiple Devices.
  • Installation
  • Location
  • DeviceTag
  • WorkOrder
  • Document
  • Revision
  • PartNumbers (Can include multiple part numbers separated by ||. First value in string is “Primary” part number. )
  • IsNonCoded (Can include multiple values separated by ||. Order is significant. First value in string is associated to “Primary” part number.)
  • Quantities (Can include multiple Quantities separated by ||. Order is significant. First value in string represents the Quantity for “Primary” part number.)
  • BalloonNumbers (Can include multiple BalloonNumbers separated by ||. Order is significant. First value in string represents the Balloon Number for “Primary” part number.)
  • SymbolAssociation (Value of true indicates the device record is associated to a symbol.)
  • DocumentID

Example:

Devices:[{

"Installation":"STATION",

"Location":"SITE",

"DeviceTag":"INS117",

"WorkOrder":"738882",

"Document":"HIGH BUS BOM",

"Revision":"0",

"PartNumbers":"016-7851||782-5841||783-9852||784-9821||786-6532",

"IsNonCoded":"||||||||",

"Quantities":"1||4||4||4||4",

"BalloonNumbers":"100||117||120||122||123",

"SymbolAssociation":false,

"DocumentID":13

},{

"Installation":"STATION",

"Location":"SITE",

"DeviceTag":"INS118",

"WorkOrder":"738882",

"Document":"HIGH BUS BOM",

"Revision":"0",

"PartNumbers":"016-7851||782-5841||783-9852||784-9821||786-6532",

"IsNonCoded":"||||||||",

"Quantities":"1||4||4||4||4",

"BalloonNumbers":"100||117||120||122||123",

"SymbolAssociation":true,

"DocumentID":13

{],

NameplateDevices Contains same properties as Devices Object plus Nameplate text attribute fields defined in System Options > BOM Manager Settings > Nameplate Settings. Can be an array of multiple Nameplate Devices.

Example:

NameplateDevices:[{

"Installation":"CONTROL HOUSE",

"Location":"SWITCHRACK 3",

"DeviceTag":"NP1",

"WorkOrder":"738882",

"Document":"HIGH BUS BOM",

"Revision":"0",

"PartNumbers":"5554883",

"IsNonCoded":"TRUE",

"Quantities":"1",

"BalloonNumbers":"1",

"SymbolAssociation":false,

"DocumentID":18,

"NameplateLine1":"SET \u0027B\u0027",

"NameplateLine2":"BF LOCKOUT",

"NameplateLine3":"AUXILIARY RELAY",

"NameplateLine4":"DEVICE 89-7",

"NameplateLine5":"N/A",

"NameplateLine6":"N/A",

"MTGLOC":"#"

}]